import org.molamil.acto.core.Dispatcher;
import org.molamil.acto.mc.mcw.LcMcWrapper;
import org.molamil.acto.pages.AbstractMovieContext;
import org.molamil.acto.pages.AbstractMovieRequest;

/**
 * A <code>MovieMaster</code> is responsible for creating new pages from a <code>MovieContext</code>, 
 * managing the actual <code>MovieClip</code> wrappers and displaying and clearing the movies.
 *
 * @author Jorge Hernandez
 */
interface org.molamil.acto.pages.master.Master extends Dispatcher {
	
	
	/**
	 * @return  The context for this movie created at configuration time.
	 */
	function getContext():AbstractMovieContext;
	
	/**
	 * @return  The request for this movie created at runtime.
	 */
	function getRequest():AbstractMovieRequest;
	
	/**
	 * @return  The MovieClip wrapper that will control the <code>MovieClip</code> representing this movie.
	 */
	function getMcWrapper():LcMcWrapper;
	
	/**
	 * Displays the movie, "brings" the <code>MovieClip</code> in.
	 */
	function display():Void;
	
	/**
	 * Clears the movie, takes the <code>MovieClip</code> out.
	 */
	function clear():Void;
	
	/**
	 * @return  Whether the movie is currently displayed or not.
	 */
	function isDisplayed():Boolean;
	
	
}